Prepare repo for v1.0.0 release#9
Merged
Merged
Conversation
5 tasks
Bundles the work from #7 and #8 into a single commit so trunk lands release-ready in one merge. CI / build - Migrate biome.json to the Biome 2.x schema (`files.includes` with negation patterns, `overrides[*].includes`, `assist.actions.source.organizeImports`). - Reorder a stale import in src/deploy.ts that the v2 organizer flagged. - Pin @actions/core to ^1.11.1 — 3.x is ESM-only and breaks the current CJS bundle. Add a Dependabot ignore for major bumps until the project is migrated to ESM. Action UX - `tags` input now accepts a YAML block mapping (the canonical workflow form) or a JSON object string, instead of the prior multi-line KEY=VALUE format. Tag keys still merge into the app's existing tags on every run. - Update action.yml description, README, and example workflows to the new tag form. Docs - Correct the GitHub slug from `spiceai/spice-cloud-deploy-action` to `spicehq/spice-cloud-deploy-action` everywhere it appeared (README badges + examples, package.json metadata, examples/), so a copy/pasted `uses:` line resolves to the published action at v1. - Replace the duplicated tail-of-document "Required scopes" table with a single "Scope cheat sheet" right under the OAuth client setup steps, including an "All-in (recommended for a single CI client)" row that spells out exactly which scopes to grant. Tests - New `parseTags` cases cover the YAML form, JSON form, quoted values, duplicates, and validation errors. - Total: 70 unit tests, all green.
540acc9 to
7861574
Compare
There was a problem hiding this comment.
Pull request overview
Prepares the repository for the v1.0.0 release by unblocking CI/build (Biome v2 config + pinning @actions/core to a CJS-compatible major), improving action UX (tags input now accepts YAML/JSON maps), and polishing docs/examples to match the v1 release slug and clarified OAuth scope guidance.
Changes:
- Migrate
tagsinput from multilineKEY=VALUEto YAML block-map (recommended) or JSON object; add/adjust unit tests accordingly. - Update docs/examples/metadata to use the correct GitHub slug (
spicehq/...) and revise OAuth scope documentation. - Update tooling/config: Biome v2 schema migration + pin
@actions/coreto^1.11.1with Dependabot major-bump ignore.
Reviewed changes
Copilot reviewed 10 out of 12 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
src/tags.ts |
Implements new YAML/JSON tags parsing and validation logic. |
src/deploy.ts |
Import reordering (Biome organizer). |
package.json |
Fix repository URLs and pin @actions/core to v1.x for CJS compatibility. |
package-lock.json |
Locks dependency tree to @actions/core@1.11.1 and related transitive deps. |
examples/full.yml |
Updates uses: slug and switches tags to YAML map form. |
examples/basic.yml |
Updates uses: slug. |
biome.json |
Migrates config to Biome 2.x schema/keys. |
action.yml |
Updates tags input docs/examples to YAML/JSON map format. |
__tests__/tags.test.ts |
Adds coverage for YAML map and JSON object forms + validation cases. |
__tests__/deploy.test.ts |
Updates deploy test to the new tags YAML form. |
README.md |
Updates repo slug, tags docs, and consolidates OAuth scopes into a “Scope cheat sheet”. |
CHANGELOG.md |
Notes new tags input formats for the initial release. |
.github/workflows/test-action.yml |
Updates workflow to new tags YAML map form. |
.github/dependabot.yml |
Ignores @actions/core semver-major updates until ESM migration. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- parseBlockMap duplicate check now uses Object.hasOwn() so prototype- chain property names like `toString` and `constructor` aren't falsely rejected as duplicates. - Drop ':' from TAG_KEY_PATTERN. The block-map parser splits on the first ':', so a tag key containing ':' (e.g. `foo:bar`) couldn't be expressed in YAML form anyway. Aligning the JSON form keeps validation consistent across both input styles. Also rewords the validation error message to match the trimmed character set. - Rename the misleading "rejects JSON arrays" test to make clear it rejects non-string JSON values; add a separate case for a root-level JSON array (which falls through to the YAML parser); add a regression test for the prototype-chain dupe-check fix.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Final v1.0.0 release-prep on top of trunk. (PR #7 — the CI fix — already landed; this PR now contains only the action-UX and docs polish from #8, rebased clean.)
Action UX
tagsinput now accepts a YAML block mapping (the canonical workflow form) or a JSON object string, instead of the prior multi-lineKEY=VALUEformat. Tag keys still merge into the app's existing tags on every run.action.ymldescription, README, and example workflows to the new tag form.Docs
spiceai/spice-cloud-deploy-action→spicehq/spice-cloud-deploy-actioneverywhere it appeared (README badges + examples,package.jsonmetadata,examples/), so a copy/pasteduses:line resolves to the published action at v1.Tests
parseTagscases cover the YAML form, JSON form, quoted values, duplicates, and validation errors.dist/freshness all clean.npm auditreports 0 vulnerabilities.Test plan
npm run allpasses locally.v1.0.0, confirm the release workflow moves the floatingv1tag and creates the GitHub release with the changelog body.Out of scope
@actions/core(tracked separately; pinned at v1).